package log4j;

import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

public class Log4jSorce {

	public static void main(String[] args) {

		// ////////////////////////////
		// Layout
		// ////////////////////////////

		// Layoutクラスのインスタンスの生成
		PatternLayout layout = new PatternLayout();
		// Layout野設定
		layout.setConversionPattern("[%-5p] %d %c{1} %M - %m  %n");

		// ////////////////////////////
		// Appender
		// ////////////////////////////

		// ConsoleAppenderクラスのインスタンスの生成
		ConsoleAppender appender = new ConsoleAppender();
		// 名前の設定:stdout
		appender.setName("stdout");
		// 出力先の設定 標準出力:SYSTEM.OUT
		appender.setTarget(ConsoleAppender.SYSTEM_OUT);
		// Layoutの設定
		appender.setLayout(layout);
		// appenderの有効化
		appender.activateOptions();

		// ////////////////////////////
		// Logger
		// ////////////////////////////

		// Loggerクラスのインスタンスの生成
		Logger logger = Logger.getRootLogger();
		// ログレベルの設定
		logger.setLevel(Level.WARN);
		// Appnderの設定
		logger.addAppender(appender);

		// ////////////////////////////		
		// Logの出力
		// ////////////////////////////
		
		// TRACEレベルのログ出力
		logger.trace("ログ出力テスト:TRACE ");
		// DEBUGレベルのログ出力
		logger.debug("ログ出力テスト:DEBUG ");
		// INFOレベルのログ出力S
		logger.info("ログ出力テスト:INFO");
		// WARNレベルのログ出力
		logger.warn("ログ出力テスト:WARN");
		// ERRORレベルのログ出力
		logger.error("ログ出力テスト:ERROR");
		// FATALレベルのログ出力
		logger.fatal("ログ出力テスト:FATAL ");

	}
}
